import request from '@/utils/http.js'

// 登录接口
export function logins (data) {
  return request({
    url: '/sys/login',
    method: 'post',
    data
  })
}
// 登录接口
export function loraReq (data) {
  return request({
    url: '/user/login',
    method: 'post',
    data
  })
}
// 客户管理
// 客户信息管理
export function estateList (data) {
  return request({
    url: '/sys/estate/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 客户资产管理
export function clientAsset (data) {
  return request({
    url: '/sys/clientAsset/getClient',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 设备日志管理列表接口
export function deviceLogs (data) {
  return request({
    url: '/sys/deviceLogs/list',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 设备分类接口
export function management (data) {
  return request({
    url: `/sys/management/list?page=${data.page}&size=${data.size}&type=${data.type}`,
    method: 'get'
  })
}

// 设备查询
export function getOneList (data) {
  return request({
    url: '/sys/management/getOneList',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 设备周期设置
export function cycle (data) {
  return request({
    url: '/sys/cycle/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备周期设置 添加接口
export function addcycle (data) {
  const url = data.cycleId ? 'updateCycle' : 'saveCycle'
  return request({
    url: `/sys/cycle/${url}`,
    method: data.cycleId ? 'put' : 'post',
    data
  })
}
// 设备周期设置 删除接口
export function delCycle (data) {
  return request({
    url: '/sys/cycle/delCycle',
    method: 'delete',
    params: {
      ...data
    }
  })
}

// 设备 资产管理  接口封装
// 资产管理列表
export function getAssets (data) {
  return request({
    url: '/sys/assets/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 资产管理 新增/修改
export function getAssetsSave (data) {
  const url = data.assetsId ? 'update' : 'save'
  return request({
    url: `/sys/assets/${url}`,
    method: data.assetsId ? 'put' : 'post',
    data
  })
}
// 资产管理 删除
export function getAssetsDel (data) {
  return request({
    url: '/sys/assets/del',
    method: 'delete',
    params: {
      ...data
    }
  })
}
// 设备 资产类型管理  接口封装
// 资产管理类型列表
export function getAssetsType (data) {
  return request({
    url: '/sys/assetsType/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 资产管理类型列表 新增/修改
export function getAssetsTypeSave (data) {
  const url = data.assetsTypeId ? 'update' : 'save'
  return request({
    url: `/sys/assetsType/${url}`,
    method: data.assetsTypeId ? 'put' : 'post',
    data
  })
}
// 资产管理类型列表 删除
export function getAssetsTypeDel (data) {
  return request({
    url: '/sys/assetsType/del',
    method: 'delete',
    params: {
      ...data
    }
  })
}
// 资产关系管理
// 资产关系管理列表
export function assetsShip (data) {
  return request({
    url: '/sys/assetsShip/list',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 获取设备型号id 请求（用于下拉列表，挑选设备）
export function getEquipment () {
  return request({
    url: '/sys/management/getEquipment',
    method: 'get'
  })
}
// 获取资产类别id 请求（用于下拉列表，挑选资产类别）
export function getAssert () {
  return request({
    url: '/sys/management/getAssert',
    method: 'get'
  })
}
// 获取小区名称和小区ID 请求（用于下拉列表）
export function getEstate () {
  return request({
    url: '/sys/estate/getEstate',
    method: 'get'
  })
}

// 设备管理
// 设备管理 门禁主机
export function doorguardList (data) {
  return request({
    url: '/sys/doorguard/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 获取设备型号 门禁主机
export function doorDeviceType () {
  return request({
    url: '/sys/doorguard/list/doorDeviceType',
    method: 'get'

  })
}
// 设备管理 门禁主机 批量删除
export function deletebymac (data) {
  return request({
    url: '/sys/doorguard/deletebymac',
    method: 'post',
    data
  })
}
// 设备管理 门禁主机 删除当前行
export function deleteData (data) {
  return request({
    url: '/sys/doorguard/delete',
    method: 'post',
    data
  })
}
// 设备管理 门禁主机 批量升级
export function upgrade (data) {
  return request({
    url: '/sys/doorguard/upgrade',
    method: 'post',
    data
  })
}
// 设备管理 门禁主机 获取软件类型
export function doorguardversion (type, data) {
  return request({
    url: `/sys/door/doorguardversion/list/all/${type}`,
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备管理 门禁主机 操作APP 重启APP 重启设备1 重启设备2
export function doorguard (data) {
  return request({
    url: '/sys/doorguard/push',
    method: 'post',
    data
  })
}
// 设备管理 门禁主机 操作APP 远程开门
export function remoteOpens (data) {
  return request({
    url: `/sys/doorguard/remote/open/${data}`,
    method: 'get'
  })
}
// 设备管理 门禁主机 获取小区，楼栋
export function alleyAll (data) {
  return request({
    url: '/sys/alley/list/all',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备管理 门禁主机 获取小区，楼栋
export function buildingAll (data) {
  return request({
    url: '/sys/building/list/all',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备管理 门禁主机 获取小区，楼栋
export function areaAll (data) {
  return request({
    url: '/sys/door/area/list/all',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备管理 门禁主机 获取小区，楼栋
export function floorAll (data) {
  return request({
    url: '/floor/floor/list/all',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备管理 门禁主机 获取小区数据
export function estateAll (data) {
  return request({
    url: '/sys/estate/list/all',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备管理 门禁主机 添加绑定/编辑绑定
export function doorguardAdd (ids, data) {
  const id = ids ? 'update' : 'save'
  return request({
    url: `/sys/doorguard/${id}`,
    method: 'post',
    data
  })
}

// 设备管理 摄像头管理 获取列表数据
export function getMonitoring (data) {
  return request({
    url: '/sys/monitoring/getMonitoring',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 设备管理 摄像头管理 新增列表数据
export function saveMonitoring (data) {
  const url = data.monitoringId ? 'updateMonitoring' : 'saveMonitoring'
  return request({
    url: `/sys/monitoring/${url}`,
    method: data.monitoringId ? 'put' : 'post',
    data
  })
}

// 设备管理 摄像头管理 删除列表数据
export function delMonitoring (data) {
  return request({
    url: '/sys/monitoring/delMonitoring',
    method: 'delete',
    params: {
      ...data
    }
  })
}

// 设备周期管理 运维记录 获取列表
export function operationsLogsList (data) {
  return request({
    url: '/sys/operationsLogs/list',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 设备周期管理 运维记录 添加\修改列表
export function operationsLogsAddEdit (data) {
  const url = data.operationsId ? 'update' : 'save'
  return request({
    url: `/sys/operationsLogs/${url}`,
    method: data.operationsId ? 'put' : 'post',
    data
  })
}
// 设备周期管理 运维记录 删除列表
export function operationsLogsDelete (data) {
  return request({
    url: '/sys/operationsLogs/del',
    method: 'delete',
    params: {
      ...data
    }
  })
}

// 设备周期管理 设备超期统计 获取列表
export function overdue (data) {
  return request({
    url: '/sys/cycle/overdue',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 运维管理 远程配置更新 接口
export function configuration (data) {
  return request({
    url: '/sys/management/configuration',
    method: 'post',
    data
  })
}

// 运维管理 远程固件更新 接口
export function firmware (data) {
  return request({
    url: '/sys/management/firmware',
    method: 'post',
    data
  })
}

// 工单管理 工单触发设置 获取数据
export function repairRulesList (data) {
  return request({
    url: '/sys/repairRules/list',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 工单管理(小程序) 工单管理 获取数据
export function workList (data) {
  return request({
    url: '/sys/work/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 工单管理(小程序) 工单管理 添加数据
export function workListAdd (data) {
  return request({
    url: '/sys/work/save',
    method: 'post',
    data
  })
}
// 工单管理(小程序) 工单管理 工单详情数据
export function workInfoList (data) {
  return request({
    url: '/sys/work/info',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 工单管理(小程序) 工单审核管理 获取列表数据
export function workOrderApprovalList (data) {
  return request({
    url: 'sys/apply/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 工单管理(小程序) 工单审核管理 审核接口
export function workOrderApprovalAudit (data) {
  return request({
    url: 'sys/apply/audit',
    method: 'post',
    data
  })
}
// 工单管理(小程序) 巡检任务管理 获取数据
export function patrolTaskList (data) {
  return request({
    url: 'sys/work/plan/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 工单管理(小程序) 巡检任务管理 获取数据
export function patrolTaskAdd (data) {
  const url = data.sysWorkInspectionPlanId ? 'update' : 'save'
  return request({
    url: `sys/work/plan/${url}`,
    method: data.sysWorkInspectionPlanId ? 'put' : 'post',
    data
  })
}
// 工单管理(小程序) 巡检任务管理 开启巡检|关闭巡检
export function patrolTaskUpdateState (data) {
  return request({
    url: 'sys/work/plan/updateState',
    method: 'put',
    data
  })
}
// 工单管理(小程序) 巡检任务管理 开启巡检|关闭巡检
export function patrolTaskDelete (data) {
  return request({
    url: 'sys/work/plan/del',
    method: 'delete',
    data
  })
}

// 工单管理(小程序) 巡检任务列表 列表数据
export function inspectionList (data) {
  return request({
    url: '/sys/work/inspection/list',
    method: 'get',
    params: {
      ...data
    }
  })
}

// 工单管理(小程序) 知识库列表 列表数据
export function essayList (data) {
  return request({
    url: 'sys/work/essay/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 工单管理(小程序) 知识库列表 删除数据
export function essayDel (data) {
  return request({
    url: `sys/work/essay/del/${data}`,
    method: 'delete'
  })
}
// 工单管理(小程序) 知识库列表 修改、添加数据
export function essayAddUpdate (data) {
  const url = data.sysWorkEssayId ? 'update' : 'save'
  return request({
    url: `sys/work/essay/${url}`,
    method: data.sysWorkEssayId ? 'put' : 'post',
    data
  })
}

// 工单管理(小程序) 备件仓库管理 获取列表
export function WarehouseList (data) {
  return request({
    url: 'sys/work/Warehouse/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 工单管理(小程序) 知识库列表 删除数据
export function WarehouseDel (data) {
  return request({
    url: `sys/work/Warehouse/del/${data}`,
    method: 'delete'
  })
}
// 工单管理(小程序) 知识库列表 修改、添加数据
export function WarehouseAddUpdate (data) {
  const url = data.sysWorkWarehouseId ? 'update' : 'save'
  return request({
    url: `sys/work/Warehouse/${url}`,
    method: data.sysWorkWarehouseId ? 'put' : 'post',
    data
  })
}
// 工单管理(小程序) 知识库列表 出库
export function WarehouseUpdateOutCount (data) {
  return request({
    url: 'sys/work/Warehouse/updateOutCount',
    method: 'put',
    data
  })
}

// 工单管理 工单触发设置 添加、编辑数据
export function repairRulesAddEdit (data) {
  const url = data.repairRuleId ? 'update' : 'save'
  return request({
    url: `/sys/repairRules/${url}`,
    method: data.repairRuleId ? 'put' : 'post',
    data
  })
}
// 工单管理 工单触发设置 编辑数据
export function repairRulesEdit (data) {
  return request({
    url: '/sys/repairRules/update',
    method: 'put',
    params: {
      ...data
    }
  })
}
// 工单管理 工单触发设置 删除数据
export function repairRulesDelete (data) {
  return request({
    url: `/sys/repairRules/del/${data}`,
    method: 'delete'
  })
}

// 工单管理 工单任务管理 获取数据
export function repairTaskList (data) {
  return request({
    url: '/sys/repairTask/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 工单管理 工单任务管理 添加\编辑数据
export function updateSaveRepairTask (data) {
  const url = data.repairTaskId ? 'updateRepairTask' : 'saveRepairTask'
  return request({
    url: `/sys/repairTask/${url}`,
    method: data.repairTaskId ? 'put' : 'post',
    data
  })
}
// 工单管理 工单任务管理 删除数据
export function delRepairTask (data) {
  return request({
    url: '/sys/repairTask/delRepairTask',
    method: 'delete',
    params: {
      ...data
    }
  })
}

// 首页 汇总
export function getCount () {
  return request({
    url: '/sys/deviceCollect/getCount',
    method: 'get'
  })
}

// 用户管理 维修人员管理 获取列表
export function maintenance (data) {
  return request({
    url: 'sys/maintenance/list',
    method: 'get',
    params: {
      ...data
    }
  })
}
// 用户管理 维修人员管理 添加、编辑列表
export function maintenanceAddEtid (data) {
  const url = data.userId ? 'update' : 'save'
  return request({
    url: `sys/maintenance/${url}`,
    method: data.userId ? 'put' : 'post',
    data
  })
}
// 用户管理 维修人员管理 删除列表
export function maintenanceDel (data) {
  return request({
    url: '/sys/maintenance/del',
    method: 'delete',
    params: {
      ...data
    }
  })
}
